﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace FigureDraw
{
    public class HighLight : EffectShape
    {
        public HighLight(CommonShape shape)
        {
            this.shape = shape;
        }
        public override CommonShape UnEffect()
        {
            return shape;
        }
        public override void DrawToDevice(Form f)
        {
            int red;
            int green;
            int blue;
            int linewid;

            if (this.StorageDevice == null)
            {
                //chứng tỏ nó là lần đầu bao người khác
                //lần đầu nên nó lấy thông tin từ thằng nó bao
                red = this.shape.getRColor();
                green = this.shape.getGColor();
                blue = this.shape.getBColor();
                linewid = this.shape.getLineWidth();
                
                this.setColor(red, green, blue);
                this.setLineWidth(linewid);

                this.BeginPoint = this.shape.BeginPoint;
                this.EndPoint = this.shape.EndPoint;
                this.StorageDevice = GetStorageDevice();
            }
            else
            {
                //ko phải lần đầu, nó đang bị người khác gọi, nó phải dùng chính thông tin của nó
                //vì thông tin của nó chính là thông tin thằng bao nó truyền cho nó
                //thang con nó phải lấy từ nó
                red = this.getRColor();
                green = this.getGColor();
                blue = this.getBColor();
                linewid = this.getLineWidth();

                this.shape.setColor(red, green, blue);
                this.shape.setLineWidth(linewid);

                this.shape.BeginPoint = this.BeginPoint;
                this.shape.EndPoint = this.EndPoint;
                this.shape.StorageDevice = GetStorageDevice();
            }
            //chỉnh sửa thông tin
            int g2 = green;
            int blue2 = blue;
            if (blue2 == 183 && g2 == 183)
            {
            }
            else
            {
                
                if (blue2 + 50 > 255)
                    blue2 = 255;
                else
                    blue2 = blue + 50;

                
                if (g2 + 80 > 255)
                    g2 = 255;
                else
                    g2 = g2 + 80;
            }
            //MessageBox.Show("xong, " + this.shape.getLineWidth());
            //MessageBox.Show("xong, " + this.shape.getLineWidth());
            this.shape.setColor(red, g2, blue2);
            this.shape.setLineWidth(linewid + 6);
            this.shape.DrawToDevice(f);
           // MessageBox.Show("xong, " + this.shape.getLineWidth());

            this.shape.setColor(red, green, blue);
            this.shape.setLineWidth(linewid);
            //KHOI TAO DAY DU THONG TIN CHO HÌNH MỚI (HÌNH ĐÃ GỒM HIỆU ỨNG)
            
            
        }

        public override string ToString()
        {
            return shape.ToString() + "HighLight";
        }
    }
}
